From: ihy123 Date: Sun, 17 Aug 2025 12:02:34 +0000 (+0300) Subject: ip/ffmpeg: remember swr_frame's capacity X-Git-Tag: archive/raspbian/2.12.0-2+rpi1^2~7 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=01e6c7b48a90c73c6a39fecaa5125cd08dc4881e;p=cmus.git ip/ffmpeg: remember swr_frame's capacity Gbp-Pq: Name 0009-ip-ffmpeg-remember-swr_frame-s-capacity.patch --- diff --git a/ip/ffmpeg.c b/ip/ffmpeg.c index 775e7de..c659c13 100644 --- a/ip/ffmpeg.c +++ b/ip/ffmpeg.c @@ -49,6 +49,7 @@ struct ffmpeg_private { /* A buffer to hold swr_convert()-ed samples */ AVFrame *swr_frame; + int swr_frame_samples_cap; int swr_frame_start; /* Bitrate estimation */ @@ -213,6 +214,7 @@ static int ffmpeg_init_swr_frame(struct ffmpeg_private *priv, d_print("av_frame_get_buffer(): %s\n", ffmpeg_errmsg(res)); return -IP_ERROR_INTERNAL; } + priv->swr_frame_samples_cap = frame->nb_samples; frame->nb_samples = 0; priv->swr_frame = frame; @@ -378,8 +380,7 @@ static int ffmpeg_convert_frame(struct ffmpeg_private *priv) { int res = swr_convert(priv->swr, priv->swr_frame->extended_data, - /* TODO: proper buffer capacity */ - priv->frame->nb_samples, + priv->swr_frame_samples_cap, (const uint8_t **)priv->frame->extended_data, priv->frame->nb_samples); if (res >= 0) {